#!/bin/bash


#数据库备份
#作者: x
#时间: 2023-12-11
BACKUP=/data/backup/db
#当前的时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)
echo ${DATETIME}

echo "=======start backup========"
echo "=======备份的路径是 $BACKUP

#主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PWD=Dev@sd123
#备份数据库名
DATABASE=nursing-system

[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#执行mysql的备份数据库的指令
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST  --databases $DATABASE --default-character-set=utf8 > $BACKUP/$DATETIME.sql

#删除20天前的备份文件
find $BACKUP -mtime +90 -name "*.sql" -exec rm -rf {} \;
echo "=====backup end==========="


#创建定时任务
function createTiming() {


#  如果没有的话创建定时任务 每天2:00执行备份

  if [ ! -f /var/spool/cron/root ]; then
#    获取当前文件路径
    path=$(cd "$(dirname "$0")"; pwd)
    echo -e "\033[32m${path}\033[0m"
    echo "0 2 * * * /bin/bash ${path}/db.sh" >> /var/spool/cron/root
#    打印绿色
    echo -e "\033[32m定时任务创建成功\033[0m"
  else
    echo -e "\033[32m定时任务已存在\033[0m"
  fi



}

createTiming

